#pragma once

#include <string>

enum LogLevel {
  LogLevelInfo = 1,
  LogLevelError = 2,
};

typedef void (*LogFuncType)(LogLevel, const std::string&);
void setLogFuncType(LogFuncType newFunc);

void logInfo(const std::string& msg);

void logError(const std::string& msg);

void log(LogLevel logLevel, const std::string& msg);

void logDefault(LogLevel logLevel, const std::string& msg);
